package twice.manacher;

public class Class01_Manacher {
//    public static int manacher(String s){
//        if (s == null || s.length() == 0) {
//            return 0;
//        }
//        char[] str = manacherString(s);
//        int[] pArr = new int[str.length];
//        int C = -1;
//        // 讲述中：R代表最右的扩成功的位置
//        // coding：最右的扩成功位置的，再下一个位置
//        int R = -1;
//        int max = Integer.MIN_VALUE;
//        for (int i = 0; i < str.length; i++) {
//
//        }
//    }

    public static char[] manacherString(String str){
        char[] charArr = str.toCharArray();
        char[] res = new char[str.length() * 2 + 1];
        int index = 0;
        for (int i = 0; i != res.length; i++) {
            res[i] = (i & 1) == 0 ? '#' : charArr[index++];
        }
        return res;
    }
}
